package com.peycash.fachada;

import java.math.BigDecimal;
import java.util.List;

import com.peycash.common.dto.ClienteDTO;
import com.peycash.common.dto.ClienteRegistroDTO;
import com.peycash.common.dto.NuevoClienteRequestDTO;
import com.peycash.common.dto.NuevoClienteResponseDTO;

public interface ClienteOpFachada {

	public boolean validaEntrada(NuevoClienteRequestDTO request);

	boolean validaFormatos(NuevoClienteRequestDTO request);

	NuevoClienteResponseDTO creaResponseValido();

	NuevoClienteResponseDTO creaResponseCamposIncompletos();

	NuevoClienteResponseDTO creaResponseError();

	NuevoClienteResponseDTO creaResponseFormatoInvalido();

	void addToContext(NuevoClienteRequestDTO request) throws FachadaException;

	List<ClienteDTO> findClientesPendientes() throws FachadaException;

	BigDecimal findId(String noCel) throws FachadaException;

	long saveDomicilio(ClienteRegistroDTO dto)
			throws FachadaException;

	void saveCliente(ClienteRegistroDTO dto)throws FachadaException;

	void llamarDespues(ClienteRegistroDTO dto) throws FachadaException;

	void bajaTemporal(ClienteRegistroDTO dto) throws FachadaException;

	List<String> findColoniasPorNombre(String nombre) throws FachadaException;
}
